<template>
	<view>
		<u--form>

			<u-input class="inp u-border" v-model="phone" placeholder="请输入手机号">

			</u-input>

		</u--form>


		<view class="u-demo-block__content" style="margin-top: 15px;">
			<!-- 注意：由于兼容性差异，如果需要使用前后插槽，nvue下需使用u--input，非nvue下需使用u-input -->
			<!-- #ifndef APP-NVUE -->
			<u-input v-model="code" placeholder="请输入验证码">
				<!-- #endif -->
				<!-- #ifdef APP-NVUE -->
				<u--input placeholder="请输入验证码">
					<!-- #endif -->
					<template slot="suffix">
						<u-code ref="uCode" @change="codeChange" seconds="6" changeText="X秒重新获取"></u-code>
						<u-button @tap="getCode" :text="tips" type="success"></u-button>
					</template>
					<!-- #ifndef APP-NVUE -->
			</u-input>
			<!-- #endif -->
			<!-- #ifdef APP-NVUE -->
			</u--input>
			<!-- #endif -->
		</view>


		<button @click="login">点击登录</button>


	</view>
</template>

<script>
	import {
		SendMsg,smsLogin
	} from '@/request/app.js'
	export default {
		data() {
			return {
				tips: '发送验证码',
				value: '',
				code: '',
				phone: '',
				apicode: ''

			}
		},
		methods: {
		
			codeChange(text) {
				this.tips = text;
			},

			getCode() {

				let reg = /^1[3-9]\d{9}$/
				if (!reg.test(this.phone)) {
					uni.showToast({
						title: '请输入正确的手机号'
					})
					return
				}	

				SendMsg({
					phone: this.phone
				}).then(res => {
					console.log(res);
					this.apicode = res.data.list.code
					uni.setStorageSync('apicode', this.apicode)
				})



				if (this.$refs.uCode.canGetCode) {
					// 模拟向后端请求验证码
					uni.showLoading({
						title: '正在获取验证码'
					})
					setTimeout(() => {
						uni.hideLoading();
						// 这里此提示会被this.start()方法中的提示覆盖
						uni.$u.toast('验证码已发送');
						// 通知验证码组件内部开始倒计时
						this.$refs.uCode.start();
					}, 2000);
				} else {
					uni.$u.toast('倒计时结束后再发送');
				}
			},
			change(e) {
				console.log('change', e);
			},
			login() {
				let reg = /^1[3-9]\d{9}$/
				if (!reg.test(this.phone)) {
					uni.showToast({
						title: '请输入正确的手机号'
					})
				}
			},
			// 登录按钮
			login(){
				// 登录逻辑
				// 判断登录的手机号和验证码不能为空
				if(!this.phone || !this.code){
					uni.showToast({
						title:'请输入验证码和手机号',
						icon:"none"
					})	
					return
				}
				// 判断手机号正则
				let reg=/^1[3-9]\d{9}$/
				if(!reg.test(this.phone)){
					uni.showToast({
						title: '请输入正确的手机号'
					})
					return
				}
				if(this.code != this.apicode){
					uni.showToast({
						title:'请输入正确的验证码'
					})
					return
				}
				console.log(this.code,"用户输入",this.apicode,"自动获取");
				smsLogin({
					phone:this.phone
				})
				.then(res=>{
				   console.log(res,"手机号登录响应");
				   if(res.data.code==200){
					    uni.setStorageSync("userinfo",res.data.list)
						uni.switchTab({
							url:'../mine/mine'
						})
				   }
				  
				})
			},
		}
	
	}
</script>

<style>
	.inp {
		height: 50px !important;
	}

	.u-border {
		border-width: 0.5px !important;
		border-color: #dadbde !important;
		/* border-style: solid; */
		border: none !important;
		border-bottom: solid !important;
		border-width: 0.5px !important;
		border-color: #dadbde !important;
	}
</style>
